@import url(http://fonts.googleapis.com/css?family=Gochi+Hand);
.tooltip {
	position: absolute;
	z-index: 999;
	width: 2.2em;
	height: 2.2em;
	cursor: pointer;
}

/* Trigger item */

.tooltip-item {
	width: 30px;
	height: 30px;
	left: 50%;
	top: 50%;
	margin: -15px 0 0 -15px;
	position: absolute;
	border-radius: 50%;
	border: 2px solid #e35583;
	-webkit-animation: pulse 0.6s infinite alternate;
	animation: pulse 0.6s infinite alternate;
}

@-webkit-keyframes pulse {
	from { -webkit-transform: scale3d(0.5,0.5,1); }
	to { -webkit-transform: scale3d(1,1,1); }
}

@keyframes pulse {
	from { -webkit-transform: scale3d(0.5,0.5,1); transform: scale3d(0.5,0.5,1); }
	to { -webkit-transform: scale3d(1,1,1); transform: scale3d(1,1,1); }
}

.tooltip:hover .tooltip-item {
	border-color: #fff;
}

.tooltip:first-child {
	top: 20%;
	left: 20%;
}

.tooltip:nth-child(2) {
	top: 50%;
	left: 10%;
}

.tooltip:nth-child(3) {
	top: 40%;
	left: 50%;
}

.tooltip:nth-child(4) {
	top: 70%;
	left: 70%;
}

/* Tooltip */

.tooltip-content {
	position: absolute;
	background: #e35583;
	z-index: 9999;
	width: 200px;
	bottom: 50%;
	margin-bottom: -1em;
	padding: 20px;
	border-radius: 20px;
	font-size: 1.1em;
	text-align: center;
	color: #fff;
	opacity: 0;
	cursor: default;
	pointer-events: none;
	font-family: 'Gochi Hand', cursive;
	-webkit-font-smoothing: antialiased;
	-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
	transition: opacity 0.3s, transform 0.3s;
}

.tooltip-west .tooltip-content {
	left: 4em;
	-webkit-transform-origin: -2em 50%;
	transform-origin: -2em 50%;
	-webkit-transform: translate3d(0,50%,0) rotate3d(1,1,1,30deg);
	transform: translate3d(0,50%,0) rotate3d(1,1,1,30deg);
}

.tooltip-east .tooltip-content {
	right: 4em;
	-webkit-transform-origin: calc(100% + 2em) 50%;
	transform-origin: calc(100% + 2em) 50%;
	-webkit-transform: translate3d(0,50%,0) rotate3d(1,1,1,-30deg);
	transform: translate3d(0,50%,0) rotate3d(1,1,1,-30deg);
}

.tooltip:hover .tooltip-content {
	opacity: 1;
	-webkit-transform: translate3d(0,50%,0) rotate3d(0,0,0,0);
	transform: translate3d(0,50%,0) rotate3d(0,0,0,0);
	pointer-events: auto;
}

/* Gap "bridge" and arrow */

.tooltip-content::before,
.tooltip-content::after {
	content: '';
	position: absolute;
}

.tooltip-content::before {
	height: 100%;
	width: 3em;
}

.tooltip-content::after {
	width: 2em;
	height: 2em;
	top: 50%;
	margin: -1em 0 0;
	background: url(../img/tooltip2.svg) no-repeat center center;
	background-size: 100%;
}

.tooltip-west .tooltip-content::before,
.tooltip-west .tooltip-content::after {
	right: 99%; /* because of FF, otherwise we have a gap */
}

.tooltip-east .tooltip-content::before,
.tooltip-east .tooltip-content::after {
	left: 99%; /* because of FF, otherwise we have a gap */
}

.tooltip-east .tooltip-content::after {
	-webkit-transform: scale3d(-1,1,1);
	transform: scale3d(-1,1,1);
}